package com.yun.apply.system.service;

import com.yun.common.core.domain.SysUser;

import java.util.List;

public interface ISysUserService {
    /**
     * 根据用户名获取用户
     * @param username
     * @return
     */
    SysUser selectUserByUserName(String username);

    /**
     * 根据条件分页查询用户列表
     * @param user 用户信息
     * @return 用户信息集合信息
     */
    List<SysUser> selectUserList(SysUser user);

    /**
     * 通过用户ID查询用户
     *
     * @param userId 用户ID
     * @return 用户对象信息
     */
    SysUser selectUserById(Long userId);

    /**
     * 校验用户是否允许操作
     *
     * @param user 用户信息
     */
    void checkUserAllowed(SysUser user);

    /**
     * 新增用户
     * @param user
     * @return
     */
    int insertUser(SysUser user);

    /**
     * 更新用户
     * @param user
     * @return
     */
    int updateUser(SysUser user);

    /**
     * 重置密码
     * @param user
     * @return
     */
    int resetPwd(SysUser user);

    /**
     * 删除用户
     * @param userIds
     * @return
     */
    int deleteUserByIds(Long[] userIds);

    /**
     * 更改用户状态
     * @param user
     * @return
     */
    int updateUserStatus(SysUser user);
}
